#ifndef STORESYMENTRY_H
#define STORESYMENTRY_H

#include <stdlib.h>
#include "SymEntry.h"

class StoreSymEntry {
private:
	SymEntry* store;
	SymEntry* startFreeSpace;
	SymEntry* lastBlock;
	size_t sizeFree;
	size_t size;
	size_t lastBlockSize;
	size_t length;

	void expand();
	void writeNextBlockPosition(SymEntry* next);
public:
	SymEntry* add(SymInfo* info, char* lexem);
	StoreSymEntry(size_t initLength);
	StoreSymEntry();
	virtual ~StoreSymEntry();
};

#endif
